security - Websockets、socket.io、nodejs 和安全性
全部标签 我想知道我是否正在相应地构建我的nodejs应用程序以实现最佳性能。我主要关心的是我如何围绕模块移动我的应用程序引用。基本上在我的app.js文件中,我声明了我所有的需求、库等:varapp={config:require('../../config.json'),restify:require('restify'),path:require('path'),mongo:require('mongodb'),model:require('./models.js'),step:require('step'),q:require('q'),api:require('./api_util.j
我正在编写一个包含一些数学练习的网站。我不太在乎用户是否试图作弊,所以我正在通过Javascript更正答案在我的具体情况下,我在表单中有一个字段。我想让用户输入一个数学表达式(例如3/2)并使用其结果来判断用户是否正确。为此,我会使用eval。我的javascript永远不会直接从URL中读取,而只是从表单中读取。此页面的任何结果都不会存储以显示给任何用户(也许我们稍后会保留统计分析的结果,然后通过PHP存储在数据库中,但话又说回来,我可能需要清理PHP本身的任何输入,怕用户直接使用POST)有什么可能出错?=P 最佳答案 您需要
我正在创建一个可以进行视频、音频和文本聊天的聊天网站。我目前正在使用Websockets进行文本聊天。我需要知道视频、音频和文本聊天的最佳方式是什么。哪个更有效。我应该为所有这些使用Websockets,还是为视频和音频使用webRTC,为文本聊天使用Websockets。我可以两者都做,并且不想为webRTC重新编写我的文本聊天,但如果这是一个更好的选择,那么我会的。编辑:我刚刚发现了binaryJS,它是webRTC更好更简单的替代品吗?谢谢,@_C1D 最佳答案 通过将您的视频和音频流嵌入到websockets中,您将拥有一个
我正在尝试执行以下操作:在我的appDelegate中,我正在设置一个cookie。之后,我尝试使用来自网络应用程序的JavaScript读取该cookie。这可能吗?因为我不能让它工作...这是我在iOS应用程序中的代码:NSMutableDictionary*cookieProperties=[NSMutableDictionarydictionary];[cookiePropertiessetObject:@"test"forKey:NSHTTPCookieName];[cookiePropertiessetObject:@"yes"forKey:NSHTTPCookieValu
我正在使用socket.io做一个chrome扩展,我有一个内容脚本可以保持连接到服务器以进行实时聊天,但我也想在后台页面中从服务器获取一些信息。它像这样分开工作很好在内容脚本中varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test");});在后台页面varsocket=io.connect('http://localhost:3700');socket.on('dosomething',function(){console.log("test
我从0.11/0.12开始就一直在使用Node,所以如果这是一个来晚了的问题,请纠正我。我试图理解使用util.inherits(Son,Dad)和简单地扩展Son.prototype=[new]Dad()的原型(prototype)之间的区别.对于这个例子,我继承了一个Transformstream首先使用util.inherits:varutil=require('util')varTransform=require('stream').Transformutil.inherits(TStream,Transform)functionTStream(){Transform.call
我正在尝试让webdriver.io和Jasmine正常工作。正在关注theirexample,我的脚本在test/specs/first/test2.js(根据配置),包含:varwebdriverio=require('webdriverio');describe('mywebdriveriotests',function(){varclient={};jasmine.DEFAULT_TIMEOUT_INTERVAL=9999999;beforeEach(function(){client=webdriverio.remote({desiredCapabilities:{brows
当对postMessage()方法的targetOrigin使用通配符时,我很难理解安全问题。您调用postMessage()的窗口是否已经有一个我们要将数据发送到的来源?怎么会有人能够干涉它?使用window.location.origin将targetOrigin设置为窗口的原点是否不好?我理解在接收端检查事件源的重要性(如图here所示),但我似乎无法理解为什么发送端使用通配符作为targetOrigin是不好的当窗口已经有一个特定的原点时。 最佳答案 这本身不是风险。这只是意味着任何人都可以将您的内容嵌入到框架中并阅读您通过
如果您为套接字上的同一个函数多次调用“on”方法会发生什么?多次调用它是简单地覆盖了最后注册的函数还是使用了更多资源?如果是后者,那么如何判断handler是否已经注册? 最佳答案 我刚刚查看了Firebug中的套接字,有一个名为“_callbacks”的成员。它包含所有已注册的回调,因此检测是否已注册非常简单:if(socket._callbacks[strHandlerName]==undefined){//Handlernotpresent,installnowsocket.on(strHandlerName,function
我在使用Socket.io时遇到问题。代码很简单:varsocket=null;varsocketInit=false;//ifitistrue,usereconnect...functionconnect(){if(!socketInit){socket=io();socketInit=true;//attacheventhandlerssocket.on('connect',function(){console.log('connectfired!');});socket.on('disconnect',function(){console.log('disconnectfired